บทความนี้ขอกล่าวถึงเรื่องการอัพโหลดรูปภาพแบบหลาย ๆ รูป (Multiple File Upload) โดยการประยุกต์ใช้หลักการ Post Back และ Code Behide
ภาพรวมของ Multiple File Upload ASP.NET C#
1. ประยุกต์ใช้หลักการ Post Back เพื่อช่วยในการอัพโหลดได้หลาย ๆ รูปภาพแบบ Object Upload เดียว
2. เขียนโปรแกรมอัพโหลดแบบ Code Behide ด้วยการใช้ HttpFileCollection และ Request.Files
ตัวอย่างโปรแกรม .aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication4._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/support.js"></script>
<body>
<form id="form1" runat="server">
Image <asp:FileUpload runat="server" /><br />
<asp:Button Text="submit" runat="server" onclick="Unnamed1_Click" PostBackUrl="~/Default.aspx" /><br />
<asp:Label runat="server" ID="lbl"></asp:Label>
</form>
</body>
</html>
ตัวอย่างโปรแกรม .aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace WebApplication4
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Unnamed1_Click(object sender, EventArgs e)
{
HttpFileCollection files;
files = Request.Files;
string[] key = files.AllKeys;
for (int i=0; i<key.Length; i++)
{
lbl.Text += "Upload = " + files[i].FileName.ToString() + "<br/>";
/* process other */
}
}
}
}
ผลลัพธ์